Method and apparatus for using long term satellite tracking data in a remote receiver

ABSTRACT

Method and apparatus for using long term satellite tracking data in a remote receiver is described. In one example, long term satellite tracking data is received at a remote receiver from a server. The long term satellite tracking data is used to compute acquisition assistance data in the remote receiver. The remote receiver then uses the acquisition assistance data to acquire satellite signals. The acquired satellite signals may be used to locate position of the remote receiver.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims benefit of U.S. provisional patent application Serial No. 60/415,364, filed Oct. 2, 2002, which incorporated by reference herein in its entirety.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention generally relates to a position location system and, more particularly, to using long term satellite tracking data in a remote receiver.

[0004] 2. Description of the Related Art

[0005] Global Positioning System (GPS) receivers use measurements from several satellites to compute position. GPS receivers normally determine their position by computing time delays between transmission and reception of signals transmitted from satellites and received by the receiver on or near the surface of the earth. The time delays multiplied by the speed of light provide the distance from the receiver to each of the satellites that are in view of the receiver. The GPS satellites transmit to the receivers satellite-positioning data, so called “ephemeris” data. In addition to the ephemeris data, the satellites transmit to the receiver absolute time information associated with the satellite signal, i.e., the absolute time signal is sent as a second of the week signal. This absolute time signal allows the receiver to unambiguously determine a time tag for when each received signal was transmitted by each satellite. By knowing the exact time of transmission of each of the signals, the receiver uses the ephemeris data to calculate where each satellite was when it transmitted a signal. Finally, the receiver combines the knowledge of satellite positions with the computed distances to the satellites to compute the receiver position.

[0006] More specifically, GPS receivers receive GPS signals transmitted from orbiting GPS satellites containing unique pseudo-random noise (PN) codes. The GPS receivers determine the time delays between transmission and reception of the signals by comparing time shifts between the received PN code signal sequence and internally generated PN signal sequences.

[0007] Each transmitted GPS signal is a direct sequence spread spectrum signal. The signals available for commercial use are provided by the Standard Positioning Service. These signals utilize a direct sequence spreading signal with a 1.023 MHz spread rate on a carrier at 1575.42 MHz (the L1 frequency). Each satellite transmits a unique PN code (known as the C/A code) that identifies the particular satellite, and allows signals transmitted simultaneously from several satellites to be received simultaneously by a receiver with very little interference of any one signal by another. The PN code sequence length is 1023 chips, corresponding to a 1 millisecond time period. One cycle of 1023 chips is called a PN frame. Each received GPS signal is constructed from the 1.023 MHz repetitive PN pattern of 1023 chips. At very low signal levels, the PN pattern may still be observed, to provide unambiguous time delay measurements, by processing, and essentially averaging, many PN frames. These measured time delays are called “sub-millisecond pseudoranges”, since they are known modulo the 1 millisecond PN frame boundaries. By resolving the integer number of milliseconds associated with each delay to each satellite, then one has true, unambiguous, pseudoranges. The process of resolving the unambiguous pseudoranges is known as “integer millisecond ambiguity resolution”.

[0008] A set of four pseudoranges together with the knowledge of the absolute times of transmissions of the GPS signals and satellite positions at those absolute times is sufficient to solve for the position of the GPS receiver. The absolute times of transmission are needed in order to determine the positions of the satellites at the times of transmission and hence to determine the position of the GPS receiver. GPS satellites move at approximately 3.9 km/s, and thus the range of the satellite, observed from the earth, changes at a rate of at most ±800 m/s. Absolute timing errors result in range errors of up to 0.8 m for each millisecond of timing error. These range errors produce a similarly sized error in the GPS receiver position. Hence, absolute time accuracy of 10 ms is sufficient for position accuracy of approximately 10 m. Absolute timing errors of much more than 10 ms will result in large position errors, and so typical GPS receivers have required absolute time to approximately 10 milliseconds accuracy or better.

[0009] It is always slow (no faster than 18 seconds), frequently difficult, and sometimes impossible (in environments with very low signal strengths), for a GPS receiver to download ephemeris data from a satellite. For these reasons, it has long been known that it is advantageous to send satellite orbit and clock data to a GPS receiver by some other means in lieu of awaiting the transmission from the satellite. This technique of providing satellite orbit and clock data, or “aiding data”, to a GPS receiver has become known as “Assisted-GPS” or A-GPS.

[0010] In one type of A-GPS system, the GPS receiver measures and transmits pseudoranges to a server and the server locates position of the GPS receiver. Such a system is referred to herein as a “mobile-assisted” system. In a mobile-assisted system, for each position computation, there are four transactions between the GPS receiver and the server: a request for assistance from the receiver to the server, transmission of aiding information from the server to the receiver, transmission of pseudorange measurements from the receiver to the server, and finally transmission of position from the server to the receiver. In most mobile-assisted systems, a new request and new aiding information are sent for each new position, since the assistance data is only valid for a short period of time (e.g., minutes). Thus, for mobile-assisted systems, the total time to fix position is deleteriously affected by the number of transactions between the receiver and the server. In addition, if the receiver roams beyond the service area of the network that delivers the assistance data, the receiver must acquire satellite signals and compute position autonomously, assuming the receiver is even capable of autonomous operation.

[0011] In another type of A-GPS system, the GPS receiver locates its own position using assistance data from a server. Such a system is referred to herein as a “mobile-based” system. In a mobile-based system, for each position computation, there are up to two transactions between the receiver and the server: the receiver requests assistance from the server and the server sends aiding information to the receiver. The position is computed inside the receiver using the aiding information. In conventional mobile-based systems, the aiding information is ephemeris data valid between 2 to 4 hours. That is, the ephemeris data is the same data as broadcast by the satellites. Thus, for conventional mobile-based systems, the total time to fix position may be deleteriously affected if the receiver must compute position outside of the 2-to-4 hour period during which the aiding data is valid, since further transactions between the receiver and the server are required. In addition, if the receiver roams beyond the service area of the network that delivers the assistance data for a period longer than 2-to-4 hours, the receiver must acquire satellite signals and compute position autonomously.

[0012] Therefore, there exists a need in the art for a method and apparatus that uses satellite tracking data in a remote receiver in a manner that minimizes the number of transactions between the receiver and a server and allows for extended operation outside of the service area of the network.

SUMMARY OF THE INVENTION

[0013] A method and apparatus for using long term satellite tracking data in a remote receiver is described. In one embodiment of the invention, long term satellite tracking data is received at a remote receiver from a server. For example, the long term satellite tracking data may include satellite orbit, satellite clock, or satellite orbit and clock information that is valid for a period of at least six hours into the future. The long term satellite tracking data may be generated at the server using satellite tracking information obtained from a reference network, satellite control station, or both. For example, the long term satellite tracking data may be generated using blocks of satellite orbit and/or clock models, such as ephemeris data.

[0014] The long term satellite tracking data is used to compute acquisition assistance data in the remote receiver. For example, acquisition assistance data may comprise expected Doppler shifts for satellite signals transmitted by satellites in view of the remote receiver. The Doppler shifts may be computed using an estimated position, an estimated time of day, and the long term satellite tracking data. The remote receiver then uses the acquisition assistance data to acquire satellite signals. The acquired satellite signals may be used to locate position of the remote receiver.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015] So that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.

[0016]FIG. 1 is a block diagram depicting an exemplary embodiment of a position location system;

[0017]FIG. 2 is a block diagram depicting an exemplary embodiment of satellite tracking data;

[0018]FIG. 3 is a block diagram depicting an exemplary embodiment of a remote receiver;

[0019]FIG. 4 is a block diagram depicting an exemplary embodiment of a server;

[0020]FIG. 5 is a flow diagram depicting an exemplary embodiment of a process for automatically transmitting satellite tracking data to a remote receiver;

[0021]FIGS. 6A through 6C depict a flow diagram of an exemplary embodiment of a process for locating position of a remote receiver using long term satellite tracking data; and

[0022]FIG. 7 is a flow diagram depicting an exemplary embodiment of a process for estimating a position of a remote receiver.

[0023] To facilitate understanding, identical reference numerals have been used, wherever possible, to designate identical elements that are common to the figures.

DETAILED DESCRIPTION OF THE INVENTION

[0024]FIG. 1 is a block diagram depicting an exemplary embodiment of a position location system 100. The system 100 comprises a server 102 and a plurality of remote receivers 104, illustratively, a remote receiver 1041, a remote receiver 1042, and a remote receiver 1043. The remote receivers 104 measure pseudoranges to a plurality of satellites 106 in a constellation of satellites to locate position. For example, the remote receivers 104 may measure pseudoranges to a plurality of global positioning system (GPS) satellites in the GPS constellation. The server 102 distributes data representative of satellite trajectory information, satellite clock information, or both to facilitate operation of the remote receivers 104 (“satellite tracking data”). Notably, the remote receivers 104 may use the satellite tracking data to assist in acquiring satellite signals and/or compute position.

[0025] The server 102 may distribute the satellite tracking data to the remote receivers 104 using a communication link, such as a wireless communication system 108 or a network 110. For example, the remote receiver 104 ₁ may be located in a service area 112 of the wireless communication system 108. In one embodiment of the invention, satellite tracking data may be transmitted to the remote device 104, through a wireless link 114 between the remote device 104 ₁ and a basestation 116 located within the service area 112 of the wireless communication system 108. For example, the wireless communication system 108 may be a cellular telephone network, the service area 112 may be a cell site, and the basestation 116 may be a cell tower servicing the cell site. In another embodiment, satellite tracking data may be provided by the server 102 to the network 110 and transmitted to the remote receiver 104 ₂. For example, the remote receiver 104 ₂ may download satellite tracking data from the Internet. In some cases, one or more of the remote receivers 104 (e.g., the remote receiver 104 ₃) may not be capable of receiving satellite tracking data from the server 102. For example, the remote receiver 104 ₃ may roam outside of the service area 112 and may not be capable of connecting to the wireless communication system 108. In addition, the remote receiver 104 ₃ may not be able to connect to the network 110. As described in detail below, the satellite tracking data distributed to the remote receivers 104 by the server 102 is valid for a long time as compared to standard broadcast ephemeris (e.g., two to four days). As such, the remote receiver 104 ₃ may continue to operate for a significant duration despite the unavailability of a connection to the server 102.

[0026] The satellite tracking data may be generated using various types of satellite measurement data (“satellite tracking information”). In particular, the server 102 receives satellite tracking information from an external source, such as a network of tracking stations (“reference network 118”) or a satellite control station 120, or both. The reference network 118 may include several tracking stations that collect satellite tracking information from all the satellites in the constellation, or a few tracking stations, or a single tracking station that only collects satellite tracking information for a particular region of the world. The satellite tracking information received from the reference network 118 includes, for example, at least one of satellite ephemeris, code phase measurements, carrier phase measurements, and Doppler measurements. An exemplary system for collecting and distributing ephemeris data using a reference network is described in U.S. Pat. No. 6,411,892, issued Jun. 25, 2002, which is incorporated by reference herein in its entirety. The server 102 may receive satellite tracking information (e.g., ephemeris) from the satellite control station 120 (e.g., the Master Control Station in GPS) via a communication link 122. An exemplary system for obtaining ephemeris information directly from a satellite control station is described in U.S. patent application Ser. No. 10/081,164, filed Feb. 22, 2002 (Attorney Docket no. GLBL 020), which is incorporated by reference herein in its entirety.

[0027] The server 102 generates satellite tracking data for distribution to the remote receivers 104 using the satellite tracking information received from the reference network 118 and/or the satellite control station 120. The satellite tracking data generated by the server 102 comprises satellite trajectory data, satellite clock data, or both. The satellite tracking data is valid for a long period of time as compared to the ephemeris data broadcast by the satellites 106. In one embodiment of the invention, the satellite trajectory data is valid for at least six hours. In another embodiment, the satellite trajectory data is valid for up to four days. As such, the satellite tracking data delivered to the remote receivers 104 may be referred to herein as “long term satellite tracking data” in order to distinguish such data from the broadcast ephemeris, which is typically only valid between 2 and 4 hours. An exemplary system for generating satellite tracking data is described in U.S. Pat. No. 6,542,820, issued Apr. 1, 2003, which is incorporated by reference herein in its entirely.

[0028]FIG. 2 is a block diagram depicting an exemplary embodiment of satellite tracking data 200. The satellite tracking data 200 includes a plurality of models 202 ₁ through 202 _(N) (collectively referred to as models 202), where N is an integer greater than or equal to one. Each of the models 202 is valid for a particular period of time into the future (e.g., six hours in the present embodiment). Each of the models 202 includes satellite trajectory data, satellite clock data, or both. The satellite trajectory data portion of each of the models 202 may include one or more of data representative of satellite positions, satellite velocities, and satellite accelerations. The satellite clock data portion of each of the models 202 may include one or more of data representative of satellite clock offsets, satellite clock drifts, and satellite clock drift rates. In one embodiment of the invention, each of the models 202 includes ephemeris data collected from the reference network 118 and/or the satellite control station 120. In another embodiment, each of the models 202 may be in some other format for representing orbital parameters and/or clock parameters. Exemplary models for the satellite tracking data are described in U.S. Pat. No. 6,542,820.

[0029] The satellite tracking data 200 is defined by N sequential blocks of satellite orbit and/or clock data (i.e., the N models 202). For purposes of clarity by example, each of the models 202 is valid for a period of six hours and thus the satellite tracking data is valid for a 6N hours. It is to be understood, however, that each of the models 202 may be valid for other durations. For example, satellite tracking data valid for four days may be generated using 16 sequential ones of the models 202.

[0030] Returning to FIG. 1, in one embodiment of the invention, the satellite tracking data generated by the server 102 is associated with all the satellites in the constellation. Thus, no matter where the remote receivers 104 compute position, the remote receivers 104 will have the correct information for the satellites that are in view. In another embodiment, the satellite tracking data generated by the server 102 is associated with only the satellites that will be visible in a particular region (e.g., country of operation of the remote receivers 104) during the period of validity of the orbit and clock data therein. For example, as described above, the satellite tracking data may be formed from 16 sequential 6-hour orbit and/or clock models covering a total of four days into the future. For some of these 6-hour periods, some satellites will not be visible anywhere in the country of operation of the remote receivers 104 and the server 102 can be configured to remove these particular models from the satellite tracking data before the satellite tracking data is distributed to the remote devices 104. Since the server 102 provides satellite tracking data for all possible satellites (e.g., all the satellite in the constellation or all satellites visible in a particular region), the data is not dependent on the position of the remote receivers 104 at the time of delivering the satellite tracking data, so long as the remote receivers are somewhere in the particular region.

[0031]FIG. 3 is a block diagram depicting an exemplary embodiment of a remote receiver 300. The remote receiver 300 may be used as any of the remote receivers 104 shown in FIG. 1. The remote receiver 300 illustratively comprises a satellite signal receiver 302, a wireless transceiver 304, a microcontroller 306, a memory 308, a modem 310, and a clock 311. The satellite signal receiver 302 receives satellite signals via an antenna 312. The satellite signal receiver 302 processes the satellite signals to form pseudoranges in a well-known manner. An exemplary assisted-GPS signal receiver is described in U.S. Pat. No. 6,453,237, issued Sept. 17, 2002, which is incorporated by reference herein in its entirety. The clock 311 may be used to establish an estimated time of day.

[0032] The memory 300 may be random access memory, read only memory, removable storage, hard disc storage, or any combination of such memory devices. The memory 308 may store satellite tracking data 316 that can be used to assist in the acquisition of satellite signals or the computation of position or both. The satellite tracking data 316 may be received via an antenna 314 using the wireless transceiver 304, or via a computer network (e.g., Internet) using the modem 310. The memory 300 may also store a table of positions (“table 318”). The table 318 may include any recently computed positions of the remote receiver 400 and/or any positions of basestations or cell sites with which the remote receiver 300 has recently communicated. The table 318 may be used to establish an estimated position of the remote receiver 300. As described below, an estimated position of the remote receiver 300 and an estimated time of day may be used to generate data to assist in the acquisition of the satellite signals from the satellite tracking data 316 (“acquisition assistance data” 320).

[0033]FIG. 4 is a block diagram depicting an exemplary embodiment of the server 400. The server 400 may be used as the server 102 shown in FIG. 1. The server 400 illustratively comprises a central processing unit (CPU) 402, input/output (I/O) circuits 404, support circuits 406, and a memory 408. The support circuits 406 comprise well-known circuits that facilitate operation of the CPU 402, such as clock circuits, cache, power supplies, and the like. The memory 408 may be random access memory, read only memory, removable storage, hard disc storage, or any combination of such memory devices.

[0034] Satellite tracking information 410 (e.g., ephemeris, code phase measurements, carrier phase measurements, Doppler measurements) is received from an external source of such information (e.g., reference network and/or satellite control station) using the I/O circuits 404 and stored in the memory 408. The server 400 uses the satellite tracking information 410 to compute long term satellite tracking data for use by remote devices. The I/O circuits 404 may also be coupled to a cell database 412. The cell database 412 stores a database of identification indicia (“cell ID”) for various basestations or cell sites of a wireless communication system along with the positions of the basestations or cell sites. As described below, basestation or cell site position may be used as an approximate position of the remote receiver. Alternatively, an approximate position of the remote receiver may be determined using a transition between cell sites or basestations, a last known location, or the like.

[0035] The I/O circuits 404 may also be coupled to a device database 414. The device database 414 may be used to keep track of when particular satellite tracking data was distributed to which remote receiver and when such satellite tracking data will expire. Using the device database 414, the server 400 can determine when to update the remote receivers with new satellite tracking data. An exemplary process for transmitting satellite tracking data to a remote receiver is described below.

[0036] Satellite tracking data may be delivered to the remote receivers in response to requests from the remote receivers. For example, a user of a remote receiver may manually request satellite tracking data from the server, or may initiate a position computation that requires satellite tracking data. Satellite tracking data may also be delivered automatically to the remote receivers. FIG. 5 is a flow diagram depicting an exemplary embodiment of a process 500 for automatically transmitting satellite tracking data to a remote receiver. The process 500 may be executed by either the server or the remote receiver. That is, the remote receiver may determine when it needs satellite tracking data or the server may determine when the remote receiver needs satellite tracking data.

[0037] The process 500 begins at step 502, where the time elapsed since the last satellite tracking data transaction is determined. At step 504, a determination is made as to whether the elapsed time exceeds a predetermined threshold. The threshold may be a percentage of the validity period of the satellite tracking data. For example, if the satellite tracking data is valid for four days, the threshold may be set as two days. Thus, if two days have elapsed since the last satellite tracking data transaction, the threshold has been exceeded. If the threshold has been exceeded, the process 500 proceeds to step 506. Otherwise, the process 500 returns to step 502.

[0038] At step 506, a determination is made as to whether a connection to the server is available. For example, a connection to the server may not be available if the remote receiver is powered off or has roamed outside of the service area of the system. If a connection is available, the process 500 proceeds to step 508.

[0039] At step 508, new satellite tracking data is scheduled to be transmitted to the remote receiver during a low traffic period. Since the threshold of step 504 is set to a percentage of the validity period of the satellite tracking data, the remote receiver does not immediately require new satellite tracking data, as the currently stored satellite tracking data remains valid. Thus, new satellite tracking data may be sent to the remote receiver using either a wireless communication system or other network during a period of low activity on such network.

[0040] If, at step 506, a connection is unavailable, the process 500 proceeds to step 510. At step 510, a determination is made as to whether the elapsed time has exceeded the validity period of the satellite tracking data. If not, the process 500 proceeds to step 508 described above. That is, the server will schedule a transmission of new satellite tracking data to the remote receiver during a low traffic period. Since the threshold of step 504 is set to a percentage of the validity period of the satellite tracking data, the remote receiver does not immediately require new satellite tracking data. The remote receiver may continue to operate using valid satellite tracking data until a connection becomes available, at which time new satellite tracking data may be sent during a low traffic period.

[0041] If, at step 510, the elapsed time has exceeded the validity period of the satellite tracking data, the process 500 proceeds to step 512. At step 512, new satellite tracking data is scheduled to be transmitted to the remote receiver when a connection becomes available. That is, when the remote device again connects to the system, the new satellite tracking data may be uploaded to the remote device.

[0042] As such, all remote receivers will have valid satellite tracking data for almost all of the time that they are capable of connecting to the server. In addition, almost all of the remote receivers will immediately benefit from assisted-GPS operation when they require a location fix, without having to make a request for satellite tracking data or wait for satellite tracking data to be delivered. Thus, the number of server transactions is minimized. Remote receivers that are not capable of connecting to the server may continue to operate using the satellite tracking data for an extended period of time (e.g., four days) while disconnected from the server. In addition, the satellite tracking data is independent of the precise time at which the remote receivers will use it.

[0043]FIGS. 6A through 6C depict a flow diagram of an exemplary embodiment of a process 600 for locating position of a remote receiver using long term satellite tracking data. The process 600 begins at step 602, where the time elapsed since the last satellite tracking data transaction is determined. At step 604, a determination is made as to whether the validity period of the satellite tracking data has been exceeded. For example, the satellite tracking data may be valid for four days. If the satellite tracking data is invalid, the process proceeds to step 606. Otherwise, the process 600 proceeds to step 610.

[0044] At step 606, a determination is made as to whether a connection between the server and the remote receiver is available. If not, the process 600 proceeds to step 608, where the connection is flagged as unavailable. Otherwise, the process 600 proceeds to step 607. At step 607, new satellite tracking data is requested and received from the server at the remote receiver. At step 609, the stored satellite tracking data is updated with the new satellite tracking data. The process then proceeds to step 610.

[0045] At step 610, time of day is determined. In one embodiment, an estimated time of day may be determined using a clock within the remote receiver. At step 612, a position of the remote receiver is estimated. At step 614, acquisition assistance data is computed using the time of day, estimated position, and the stored satellite tracking data. The acquisition assistance data aids the remote receiver in acquiring satellite signals. In one embodiment, the acquisition assistance data comprises predicted Doppler shifts for each satellite in view of the remote receiver. In GPS, all of the satellite signals leave the satellites at the same frequency of exactly 1575.42 MHz. The frequency of the satellite signals observed at the remote receiver, however, will be shifted ±4.5 KHz due to relative satellite motion. A satellite rising over the horizon exhibits a Doppler shift up to 4.5 KHz higher, a setting satellite exhibits a Doppler shift up to 4.5. KHz lower, and a satellite at its zenith (the highest point in the sky from the point of view of the remote receiver) will exhibit no Doppler shift.

[0046] The remote receiver may use the position estimate, the time of day, and the stored satellite tracking data to compute Doppler shifts relative to the estimate position of the remote receiver. As described above, in one embodiment, the satellite tracking data is provided in the form of blocks of ephemeris data. If such satellite tracking data is used, the computation of Doppler shifts at the estimate position and time of day is performed in a conventional manner. The acquisition assistance data provides a window or range of uncertainty around the expected Doppler shifts. The size of the uncertainty range depends on the accuracy of the initial estimate of position and the time of day. The time of day has little impact on the size of the uncertainty range and may be in error by a few seconds of GPS time. The estimate of position has a greater effect on the uncertainty range. If the position estimate is within approximately 10 km of the true position of the remote receiver, then the Doppler range may be ±10 Hz. If the position estimate is within a wide area of the true position (e.g., within a particular country of operation or within 3000 km), then the Doppler range may be ±3000 Hz. An exemplary process for estimated the position of the remote receiver is described below. As is well known in the art, the search range for Doppler must also include the uncertainty of the local reference frequency in the remote receiver.

[0047] At step 616, satellite signals are acquired at the remote receiver using the acquisition assistance data. In one embodiment, the remote receiver searches for the satellite signals within the frequency range defined by the acquisition assistance data and local frequency reference. The time it takes to acquire the necessary satellite signals in order to compute an initial position (“time to first fix”) depends on the size of the frequency window. A smaller frequency window yields a faster time to first fix.

[0048] At step 618, a determination is made as to whether the connection has been flagged as unavailable. If not, the process 600 proceeds to step 624, where position of the remote receiver is computed using the stored satellite tracking data. If the connection is flagged as unavailable at step 608, the process proceeds to step 620. At step 620, ephemeris is decoded from the acquired satellite signals. While invalid or “old” satellite tracking data, or satellite almanac data, may be used to compute the acquisition assistance data at step 614, such expired or imprecise satellite tracking data may not be used in order to compute position of the remote receiver. As such, if the stored satellite tracking data is expired and the remote receiver cannot connect to the server to obtain new satellite tracking data, then the remote receiver must decode the satellite signals to obtain ephemeris information. At step 622, position of the remote receiver may be computed using the ephemeris information.

[0049]FIG. 7 is a flow diagram depicting an exemplary embodiment of a process 700 for estimating a position of a remote receiver. The process 700 may be used in the step 612 of the process 600 as the primary estimation technique. Those skilled in the art will appreciate that other position estimation techniques may be used that are known in the art, such as using transitions between cell cites or basestations of the remote receiver or using a last known location of the remote receiver. The process 700 begins at step 702, where the cell ID for the cell site in which the remote receiver is currently operating (“active cell site”) is determined. If there is no cell ID, or there is no active cell site, the process 700 proceeds to step 706. Otherwise, the process 700 proceeds to step 704.

[0050] At step 704, a determination is made as to whether the cell position is in a table stored within the remote receiver. That is, the remote receiver may use the cell ID to index a table of positions to identify the position of the active cell site. If a position associated with the active cell site is in the table, the process 700 proceeds to step 708, where an estimated position of the remote receiver and an uncertainty in the estimated position is output. If the cell position is not in the table, the process 700 proceeds to step 706.

[0051] At step 706, there is either no cell ID (e.g., the remote receiver is not operating within the service area of the wireless communication system) or there is no position associated with the cell ID stored in the table. Thus, a determination is made as to whether there has been a recent position fix. For example, a recent position fix may be a compute position less than three minutes old. Note that, in three minutes, if the remote receiver is traveling less than 200 km/h, then the remote receiver could have moved no more than 10 km. This is within the range of approximate position uncertainty that the remote receiver would obtain if using a position of a cell site. If there is a recent position fix, the process 700 proceeds to step 708, where the recent position fix is used as the estimated position and the estimated position and uncertainty is output. In addition, the position table may be updated with the recent position at step 710.

[0052] If there is no recent position fix at step 706, the process 700 proceeds to step 712. At step 712, a determination is made as to whether a connection between the server and the remote receiver is available. If not, the process 700 proceeds to step 718, where the position estimate is set to a wide area (e.g., country or region of operation). The process 700 proceeds from step 718 to step 708, where the position estimate and uncertainty are output.

[0053] If at step 712 a connection between the server and the remote receiver is present, the process 700 proceeds to step 714. At step 714, a position of the active cell site is requested from the server. The remote receiver may send the cell ID to the server if the cell ID has been obtained. At step 716, if a position is returned from the server, the process proceeds to step 708, where the position estimate and uncertainty are output. In addition, the position table may be updated at step 710 with the newly returned position of the particular active cell site. If at step 716 the position is not returned from the server, the process 700 proceeds to step 718, where the position estimate is set to a wide area.

[0054] By using a table of positions and utilizing recent position fixes, the remote receivers avoid unnecessary transactions with the server. Thus, rather than requesting a position for an active cell site using the cell ID, the remote receivers first determine if the information is stored locally.

[0055] A method and apparatus for using long term satellite tracking data has been described. In one embodiment of the invention, the long term satellite tracking data contains satellite orbit and/or clock data that is valid for a period between two and four days. Thus, remote receivers may continue to operate for up to four days without connecting to a server to receive updated information. If a remote receiver is not capable of connecting to the server (e.g., the remote receiver roams outside the service area of the network), the remote receiver may continue to use the long term satellite tracking data until the remote receiver is once again capable of connecting to the network. As such, the only transactions between the server and a remote device occurs once every two to four days, or when the remote device requires a position of a cell site or basestation from the server.

[0056] In the preceding discussion, the invention has been described with reference to application upon the United States Global Positioning System (GPS). It should be evident, however, that these methods are equally applicable to similar satellite systems, and in particular, the Russian Glonass system, the European Galileo system, and the like, or any combination of the Glonass system, the Galileo system, and the GPS system. The term “GPS” used herein includes such alternative satellite positioning systems, including the Russian Glonass system and the European Galileo system.

[0057] Although the methods and apparatus of the invention have been described with reference to GPS satellites, it will be appreciated that the teachings are equally applicable to positioning systems that utilize pseudolites or a combination of satellites and pseudolites. Pseudolites are ground-based transmitters that broadcast a PN code (similar to the GPS signal) that may be modulated on an L-band carrier signal, generally synchronized with GPS time. The term “satellite”, as used herein, is intended to include pseudolites or equivalents of pseudolites, and the term “GPS signals”, as used herein, is intended to include GPS-like signals from pseudolites or equivalents of pseudolites.

[0058] While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow. 

1. A method, comprising: receiving long term satellite tracking data at a remote receiver from a server; computing acquisition assistance data using said long term satellite tracking data at said remote receiver; and receiving satellite signals at said remote receiver using said acquisition assistance data.
 2. The method of claim 1, further comprising: computing position of said remote receiver using said satellite signals and said long term satellite tracking data.
 3. The method of claim 1, further comprising: decoding ephemeris information from said satellite signals; and computing position of said remote receiver using said satellite signals and said ephemeris information.
 4. The method of claim 1, wherein said step of computing acquisition assistance data comprises: determining an estimated position of said remote receiver; determining an estimated time of day; and computing a frequency search window associated with a frequency of said satellite signals using said estimated position, said estimated time of day, and said long term satellite tracking data.
 5. The method of claim 4, wherein said step of receiving satellite signals comprises: searching for said satellite signals within said frequency search window.
 6. The method of claim 4, wherein said estimated position is a position of a basestation in communication with said remote receiver.
 7. The method of claim 6, wherein said step of determining an estimated position comprises: receiving identification indicia associated with said basestation; obtaining said position of said basestation from data stored within said remote receiver using said identification indicia.
 8. The method of claim 6, wherein said step of determining an estimated position comprises: receiving identification indicia associated with said basestation; transmitting said identification indicia to said server; and receiving said position of said basestation from said server.
 9. The method of claim 4, wherein said estimated position is a previously computed position of said remote receiver.
 10. The method of claim 4, wherein said estimated time of day is determined using a clock within said remote receiver.
 11. The method of claim 1, further comprising: determining whether said long term satellite tracking data is valid; and receiving new long term satellite tracking data from said server if said long term satellite tracking data is invalid; and updating said long term satellite tracking data with said new long term satellite tracking data.
 12. The method of claim 1, wherein said long term satellite tracking data is valid for at least six hours into the future.
 13. The method of claim 1, wherein said long term satellite tracking data comprises at least one of: a plurality of satellite positions with respect to time and a plurality of satellite clock offsets with respect to time.
 14. The method of claim 1, wherein said long term satellite tracking data comprises at least one of: data representative of satellite positions, satellite velocities, satellite accelerations, satellite clock offsets, satellite clock drifts, and satellite clock drift rates.
 15. The method of claim 1, wherein said long term satellite tracking data comprises ephemeris data.
 16. The method of claim 15, wherein said ephemeris data comprises blocks of ephemeris valid for at least six hours into the future.
 17. The method of claim 1, wherein said long term satellite tracking data comprises a model having at least one of orbital parameters and clock parameters.
 18. The method of claim 17, wherein said model comprises a plurality of sequential models valid for at least six hours into the future.
 19. The method of claim 1, wherein said long term satellite tracking data is received from said server at said remote receiver using a wireless communication system.
 20. The method of claim 1, wherein said long term satellite tracking data is received from said server at said remote receiver using a communication network.
 21. The method of claim 1, wherein said long term satellite tracking data is received from said server at said remote receiver using a communication link during a low traffic period.
 22. A receiver, comprising: a communications transceiver for receiving long term satellite tracking data from a server; and a microcontroller for computing acquisition assistance data using said long term satellite tracking data; and a satellite signal receiver for receiving satellite signals using said acquisition assistance data.
 23. The receiver of claim 22, wherein said microcontroller is configured to compute position of said receiver using said satellite signals.
 24. The receiver of claim 22, wherein said communications transceiver is a wireless transceiver.
 25. The receiver of claim 22, further comprising: a clock for providing a time of day; wherein said microcontroller is configured to determine an estimated position of said remote receiver and compute a frequency search window associated with a frequency of said satellite signals using said estimated position, said time of day, and said long term satellite tracking data.
 26. The receiver of claim 22, wherein said long term satellite tracking data is valid for at least six hours into the future.
 27. The receiver of claim 22, wherein said long term satellite tracking data comprises at least one of: a plurality of satellite positions with respect to time and a plurality of satellite clock offsets with respect to time.
 28. The receiver of claim 22, wherein said long term satellite tracking data comprises ephemeris information valid for at least six hours into the future.
 29. A position location system, comprising: a remote receiver comprising a satellite signal receiver and a wireless transceiver; and a server in wireless communication with said remote receiver; where said server provides long term satellite tracking data to said remote receiver; and where said remote receiver computes acquisition assistance data using said long term satellite tracking data and receives satellite signal using said acquisition assistance data.
 30. The position location system of claim 29, wherein said remote receiver computes position using said satellite signals.
 31. The position location system of claim 29, wherein said long term satellite tracking data is valid for at least six hours into the future.
 32. The position location system of claim 29, wherein said long term satellite tracking data comprises at least one of: a plurality of satellite positions with respect to time and a plurality of satellite clock offsets with respect to time.
 33. The position location system of claim 29, wherein said long term satellite tracking data comprises ephemeris information valid for at least six hours into the future.
 34. A method, comprising: receiving long term satellite tracking data at a remote receiver from a server; determining an estimated position of said remote receiver using data stored within said remote receiver; and computing acquisition assistance data at said remote receiver using said long term satellite tracking data and said estimated position.
 35. The method of claim 34, further comprising: receiving satellite signals at said remote receiver using said acquisition assistance data.
 36. The method of claim 34, wherein said estimated position is a position of a basestation in communication with said remote receiver.
 37. The method of claim 36, wherein said data stored within said remote receiver comprises a table of basestation positions, and wherein said step of determining comprises: receiving identification indicia associated with said basestation; and obtaining said position of said basestation from said table of basestation positions using said identification indicia.
 38. The method of claim 37, wherein said identification indicia comprises a cell ID for said basestation.
 39. The method of claim 34, wherein said data stored within said remote receiver comprises a table of recently computed positions, and wherein said estimated position is a previously computed position extracted from said table of previously computed positions. 